1. Field of the Invention
This invention relates to a multiprocessor system which employs the digital computation technique for signal processing.
A signal processing operation or a processing chain is intended to refer to a sequence of computing steps each designated as a process involving arithmetic and logical operations. These signal-processing operations are distinguished from conventional data-processing calculations by their repetitive character, by the simple structure of data handled and by their parallel operation capability. This type of processing is employed in particular in the fields of radar and sonar.
2. Description of Prior Invention
Many signal-processing systems of known types are endowed with the above-mentioned characteristics. Possible structures of these systems are described, for example, in an article by C. Bozzo (National symposium on signal-processing and its applications, Nice, June 16-21, 1975, page 559). In the field of signal-processing, however, it appears that systems of the multiprocessor type and more particularly of the type designated by the abbreviation M.I.M.D. (Multiple Instruction stream, Multiple Data stream) according to the classification proposed by Flyn (in IEEE transactions on computers, volume 21, No. 9, September 1972) are particularly well-suited to the characteristics mentioned in the foregoing and make it possible to increase the computing power and speed.
In a structure of this type, the different processes are therefore carried out in parallel by making use of so-called "execution means", this expression being adopted in the following description. Said execution means are constituted by specialized or microprogrammed arithmetic or logical operators, memories, and inputoutput couplers for establishing relations between the system and the exterior. Some of these execution means are specific to a well-determined process but the majority can be shared between a number of processes. The execution means of the last-named category are common to a number of processes and will be designated as resources.
In order to carry out a predetermined process, the execution means must be interconnected in a specific way. This interconnection of the execution means must not be fixed but must on the contrary be programmable in order to permit different recombinations of the execution means for subsequent processing operations. This result is achieved by connecting each of the execution means aforesaid to a single multiwire connection usually known as a bus.
By means of this structure, a number of processes can therefore take place simultaneously in parallel by having access to execution means which are at least partially common, thus entailing the need for arbitration in time.
One solution consists in centralizing this arbitration function within a control unit which accordingly delivers all the decisions which settle the problems of conflict and of synchronization. However, the disadvantage of this solution lies in the fact that the control unit becomes a bottleneck and consequently results in a waiting period of prohibitive length at the level of each process. It is always possible in such a case to increase the number of resources in order to prevent conflicts but this solution suffers from the obvious drawbacks of complexity and cost.